/* function f(key: string): any {
  return function () {
    console.log("执行：", key);
  };
}

class C {
  @f("属性1")
  p1!: number;

  @f("方法1")
  m1(@f("参数1") foo: any) {}

  @f("方法2")
  m2(@f("参数2") foo: any) {}

  @f("属性2")
  p2!: number;
} */

function log(
  target: Object,
  propertyKey: string | symbol | undefined,
  parameterIndex: number
) {
  console.log(`${String(propertyKey)} NO.${parameterIndex} Parameter`);
}

class C {
  constructor(@log age: number) {}

  member(@log x: number, @log y: number) {
    console.log(`member Parameters: ${x} ${y}`);
  }
}

const c = new C(1);
c.member(5, 5);

export {};
